1. Field of the Invention
The present invention relates to flash memory devices, and more specifically, to a page buffer of a flash memory device with an improved program operation performance and program operation control method.
2. Discussion of Related Art
There is an increasing need for semiconductor memory devices which can be electrically programmed and erased without a refresh function of rewriting data at a predetermined cycle. Furthermore, techniques have been developed for higher integration of memory devices having a large storage capacity.
Flash memory is generally classified into a NAND flash memory and a NOR flash memory. NOR flash memory has a structure in which memory cells are connected to bit lines and word lines independently and is good in a random access time characteristic. NAND flash memory has a construction in which a number of memory cells are connected in series. This type of memory cell has a good characteristic in the level of integration since only one contact is needed per a cell string. Therefore, a NAND structure is generally used in a high-integrated flash memory.
Recently, to further improve the level of integration of the flash memory, there has been research in a multi-bit cell in which data can be stored in one memory cell. A memory cell of this method is generally referred to as a Multi-Level Cell (hereinafter, referred to as “MLC”). A memory cell of a single bit corresponding to the MLC is generally referred to as a Single Level Cell (hereinafter, referred to as “SLC”).
In general, threshold voltages (Vt) of MLCs can be distributed in a range of voltage values. For example, since 2-bit data can be programmed into a MLC, one MLC can store any one of four data, i.e., [11], [10], [01] and [00]. Furthermore, a threshold voltage (Vt) of a MLC can be varied depending on stored data. Threshold voltages of memory cells exist within a range of −2.7V or less, 0.3 to 0.7V, 1.3V to 1.7V and 2.3V to 2.7V, respectively. A threshold voltage of a MLC that stores the data [11] therein corresponds to −2.7V or less, and a threshold voltage of a MLC that stores the data [10] therein corresponds to 0.3 to 0.7V. A threshold voltage of a MLC that stores the data [01] therein corresponds to 1.3V to 1.7V and a threshold voltage of a MLC that stores the data [00] therein corresponds to 2.3V to 2.7V.
A MLC employs a page buffer for the purpose of rapid program operation and read operation.
FIG. 1 is a block diagram of a page buffer of a flash memory device having a MLC in the related art. FIG. 1 schematically shows only blocks concerned with the program operation.
Referring to FIG. 1, the page buffer 10 includes a bit line select unit 11, a precharge unit 12, an upper bit register 13, a lower bit register 14, a data compare unit 15, a data transmission circuit 16 and a data pass circuit 17.
A program operation process executed in the page buffer 10 will be first described below in short. The upper bit register 13 and the lower bit register 14 are initialized to their initial set values. Input data D1 are stored in the upper bit register 13. The data transmission circuit 16 transmits the input data D1, which are received from the upper bit register 13, to the lower bit register 14 as indicated by dotted line “D”. Consequently, the lower bit register 14 stores the data D1 therein.
The data pass circuit 17 outputs the data D1, which are received from the lower bit register 14, to a sense node SO. To the sense node SO is connected one of bit lines BLe and BLo by means of the bit line select unit 11. As a result, the input data D1 are programmed into a MLC connected to the bit line BLe or BLo through the bit line BLe or BLo connected to the sense node SO. Through the above process, the program operation of lower bit data into the MLC is completed. In addition, the process of programming upper bit data into the MLC needs a process of transferring the input data D2 to the lower bit register 14 through the data transmission circuit 16 after the input data D2 are programmed into the upper bit register 13, as indicated by a dotted line “D”.
As described above, in order to program lower bit data and upper bit data into MLCs, respectively, the page buffer 10 needs the process of transferring the stored data to the lower bit register 14 after the input data are stored in the upper bit register 13. For this reason, when the program operation of the MLC is executed by the page buffer 10, a problem arises because a program time and power consumption during the program operation are increased. In addition, the page buffer 10 require the data transmission circuit 16 for transferring data stored in the upper bit register 13 to the lower bit register 14. A problem also arises because the size and manufacturing cost are increased.